Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete glossary Dynamic programming language #10630

Merged
merged 5 commits into from
Dec 2, 2021
Merged

Conversation

hamishwillee
Copy link
Collaborator

@hamishwillee hamishwillee commented Nov 19, 2021

Related to #10616

EDITED. This deletes the page and the case where it was used.

@hamishwillee hamishwillee requested a review from a team as a code owner November 19, 2021 00:10
@hamishwillee hamishwillee requested review from ddbeck and removed request for a team November 19, 2021 00:10
@github-actions github-actions bot added the Content:Glossary Glossary entries label Nov 19, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Nov 19, 2021

Preview URLs

Flaws

URL: /en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
Title: JavaScript basics
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

External URLs

URL: /en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
Title: JavaScript basics
on GitHub

No new external URLs

(this comment was updated 2021-12-02 22:22:34.261545)

@himanshugarg
Copy link
Contributor

@hamishwillee please allow me to nitpick in case it helps you see an alternate point of view:-

A dynamic programming language is a programming language in which some [operations are performed during execution] [that would be performed during compilation in a static programming language].

can also be read as

A dynamic programming language is a programming language in which some operations are performed during [execution that would be performed during compilation in a static programming language].

For example, a static programming language would only allow plugins to be added during compilation, while a dynamic programming language might allow plugins to be loaded at runtime.

But then, the editors Eclipse, Notepad++ also allow plugins to be added. They are Java/C++ based.

its behavior can be fully understood using static analysis. By contrast the variables and behaviour of a dynamic language depends on the environment at runtime.

I think we could qualify the word behavior but with what, I don't know. The behavior is also affected by the inputs and the environment in which the program runs. And there is a typo in one of the words I am not sure which.

@hamishwillee
Copy link
Collaborator Author

hamishwillee commented Nov 22, 2021

@himanshugarg Thanks. I think this mostly, but unfortunately if you can be confused by it, then it isn't good enough.

For example, a static programming language would only allow plugins to be added during compilation, while a dynamic programming language might allow plugins to be loaded at runtime.

But then, the editors Eclipse, Notepad++ also allow plugins to be added. They are Java/C++ based.

Yes, and that is actually correct and consistent with the statement.

  • Eclipse and Java are based on dynamic languages. They allow plugins to be loaded at runtime.
  • If they were static languages you could not add plugins at runtime - only at compile time.
  • Perhaps you are thinking about the fact that C is a statically typed language? If so, that has nothing to do with this topic.

The word "behaviors" is supposed to capture that this isn't just plugin loading - it could be a bunch of things - like the ability to create new objects on the fly, creating objects and functions to handle particular runtime conditions etc etc.
Also most of this stuff isn't completely unachievable using static languages - just hard.
For example, reflection is something we do in javascript that is thrown up as an example of dynamic programming language behaviour - but you can do that statically too in some languages. The point is you have to do it in the compile stage.

I don't understand this well enough. Also it really is a useless distinction! I feel like I'm wasting time for little value.

@hamishwillee
Copy link
Collaborator Author

OK @himanshugarg I reverted most of my changes so that now this just fixes the one part that I am confident of.

This term really isn't one that has much use in this domain, so even though I am quite confident our definition is poor, I don't think that putting in time to improve it is value for money.

@hamishwillee
Copy link
Collaborator Author

@ddbeck can you look at this at some point please?

@himanshugarg
Copy link
Contributor

OK @himanshugarg I reverted most of my changes so that now this just fixes the one part that I am confident of.

Sorry for the silence after the noise. Thanks for the patience with both.

For example, C++ and JavaScript are both dynamic programming languages, but C++ is statically typed, while Javascript is dynamically typed.

As you have noted, I was not aware of this distinction. It is definitely helpful.

@ddbeck
Copy link
Contributor

ddbeck commented Dec 1, 2021

OK, you might hate my suggestion here, but what do you think of just getting rid of this glossary entry?

It's used in only one place where the detail of what kind of programming language is not terribly interesting. I'd expect that someone asking the question "What is JS?" is a beginner who isn't likely to know or care about the distinction.

If this were my PR, I'd delete the glossary entry and replace the glossary macro call with something like "JavaScript is a programming language that runs in the browser that can add interactivity to a website."

@wbamberg
Copy link
Collaborator

wbamberg commented Dec 1, 2021

OK, you might hate my suggestion here, but what do you think of just getting rid of this glossary entry?

It's used in only one place where the detail of what kind of programming language is not terribly interesting. I'd expect that someone asking the question "What is JS?" is a beginner who isn't likely to know or care about the distinction.

If this were my PR, I'd delete the glossary entry and replace the glossary macro call with something like "JavaScript is a programming language that runs in the browser that can add interactivity to a website."

I agree with this.

I think one problem here is that we lack a clear definition of what makes a programming language dynamic. For example, I'd not include C++ as a dynamic programming language (and neither does the Wikipedia page, which is the only source cited for this entry: https://en.wikipedia.org/wiki/Dynamic_programming_language#Examples). Maybe I'm wrong, but that just makes this seem like a matter of opinion.

I think we can probably agree on the kinds of things that are distinctive of dynamic programming languages, like the ability to add or redefine an object's properties at runtime, but if we can't agree on a clear test of what makes a language "dynamic" then it's hard to see how this can be a helpful entry.

@hamishwillee
Copy link
Collaborator Author

No, I'm more than fine with this. I'll update.

@github-actions github-actions bot added the Content:Learn Learning area docs label Dec 2, 2021
@hamishwillee hamishwillee changed the title Dynamic programming language glossary improvements Delete glossary Dynamic programming language Dec 2, 2021

## What is JavaScript?

{{Glossary("JavaScript")}} ("JS" for short) is a full-fledged {{Glossary("Dynamic programming language", "dynamic programming language")}} that can add interactivity to a website. It was invented by Brendan Eich (co-founder of the Mozilla project, the Mozilla Foundation, and the Mozilla Corporation).
{{Glossary("JavaScript")}} is a powerful programming language that can add interactivity to a website.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only content change

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tq

@hamishwillee
Copy link
Collaborator Author

Done. Ready for re-review

Copy link
Collaborator

@wbamberg wbamberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 thanks Hamish and @himanshugarg , and thanks Daniel for speaking the unspeakable :).

@wbamberg wbamberg merged commit 2bfddee into main Dec 2, 2021
@wbamberg wbamberg deleted the hamishwillee-patch-1 branch December 2, 2021 22:33
yin1999 added a commit to yin1999/translated-content that referenced this pull request Aug 31, 2022
yin1999 added a commit to mdn/translated-content that referenced this pull request Aug 31, 2022
* remove A_basic_ray-caster

ref: mdn/content#17352

* redirect to BCD repo

* remove DHTML

ref: mdn/content#13138

* Delete glossary Dynamic programming language

ref: mdn/content#10630

* remove Rich Text Editing in Mozilla
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Content:Glossary Glossary entries Content:Learn Learning area docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants